#include <stdio.h>
/*
当函数一调用 
    程序会生成一个函数栈

    生成的位置 是在内存中

    生成一个 空间 用于函数的运行   同时 形参也被创建

    当函数结束 这片空间自动回收   同时 形参也被回收


    被调函数内部的 变量 (非动态) 不可以使用指针来返回他的地址

    动态内存  手动申请 手动释放

*/

// 求和函数
int * func(void)  // 形式参数
{
    int sum[20] = {10,20,30,40,50,60,70,80,90,10,20,30,20,30,40,50,17,18,19,20};
    int * ptr = sum;
    // printf("func 函数内调用");
    // for (size_t i = 0; i < 20; i++)
    // {
    //     printf("ptr[%ld] = [%d]\n" , i , ptr[i]);
    // }
    return ptr;
}


int main(int argc, char const *argv[])
{
    
    int * ptr = func();
    //printf("main 函数内调用");
    for (size_t i = 0; i < 20; i++)
    {
        printf("ptr[%ld] = [%d]\n" , i , ptr[i]);
    }
    

    return 0;
}


